package 数组.数组定义与调用;

public class Test {
    public static void main(String[] args) {
        /*
        一.数组的定义：
            1.数组：是用来存储同一种数据类型多个元素的容器，可以是基本型，也可以是引用类型
            2.求数组长度的方法：
                            数组名.length
                            例：int s=arr.length;
            3.数组的三种定义格式：
                            （1） 数据类型 [] 数组名=new 数据类型[长度];
                                例：int [] arr=new int[3];    //定义一个长度为3的整型数组
                            （2） 数据类型 [] 数组名=new 数据类型[]{元素1，元素2，，，，，};
                                例：int [] arr=new int[]{1，2，3};
                            （3） 数据类型 [] 数组名={元素1，元素2，，，，，};
                                例：int [] arr={1，2，3};   //定义一个长度为3的整型数组
            注: 1.数据类型：数组中存储元素的数据类型
               2.[]:表示数组
               3.数组名：数组的变量名
               4.new：开辟空间位置的关键字，创建数组要用到
               5.长度：创建的数组最多存放元素的个数，定义时就指定，一旦创建就不可更改
        二.数组的调用：
             1.通过数组的索引访问数组的元素
             2.索引：也叫下标，脚标。是数组元素距离数组起始位置的偏移量，第一个元素的偏移量为0，即索引为0，所以数组索引从0开始
             3.数组调用格式：
                          (1). 数组名[索引值]
                          (2). 取值：数组名[索引值]          例：int x=arr[2];
                          (3). 赋值：数组名[索引值]=值       例：arr[2]=5;
        三.数组的初始化：
                1.动态初始化：定义时只指定长度，由系统给出默认值
                    注：各数据类型系统给出的默认值：
                               整数型 : 0
                               浮点型 : 0.0
                               字符型 : '\u0000'(空字符的意思)
                               布尔型 : false
                               引用类型 : NULL(空的意思)
               2.静态初始化：给出初始值，由系统给出数组长度

         */
        //数组的三种定义方式
        int[] arr = new int[5];
        int[] arr1 = new int[]{1, 2, 3, 4, 5};
        int[] arr2 = {1, 2, 3, 4, 5};
        //求数组的长度
        int s = arr.length;
        System.out.println("arr数组的长度是：" + s);
        //数组的调用
        int num = arr1[1];//取值
        arr1[0] = 100;//赋值i
        System.out.println("arr1数组的第二个数是：" + num);
        System.out.println("arr1数组的第一个数是：" + arr1[0]);
        //数组的动态初始化
        for (int i = 0; i < 5; i++) {
            System.out.println("arr数组的长度是：" + arr.length);
            System.out.println("整形arr数组的动态初始化第" + i + "个值是：" + arr[i]);
        }
        //数组的静态初始化
        int[] arr3 = {1, 2, 3};
        System.out.println("arr3数组的长度是：" + arr3.length);
        int[][] ass = new int[4][3];
    }
}
